cookecutter 使用以及整洁架构设计
在设计架构过程是使用 cookiecutter 能够方便快速的搭建统一的框架。该笔记是依据 《整洁架构》搭建日志模版的过程和思路整理。
1. Python 环境依赖拆分
Python 在开发环境、测试环境以及生产环境下,可能对相关 package 依赖方面存在差异。因此将三个环境依赖拆分开是有实际意义的,创建一个 requirements
目录之后分别生成 test.txt
、prod.txt
以及 dev.txt
分别存放三个环境依赖。
在实践过程中可以使用 virtualenv
创建需要的环境,使用 pip install -r requirements/<env_name>.txt
可以分别创建三个不同的依赖环境
2. 测试方案和 Python 标准检验
2.1 Pytest 工具配置
使用 pytest
进行测试时,可以在 package 的根目录下存放一个 pytest.ini
文件,添加相关配置之后可以直接在根目录下使用 py.test -sv
进行快速测试。配置信息如下:
1 | [pytest] |
2.2 覆盖测试命令
Coverage 和 pytest-cov 提供了覆盖测试的方式,可以结合 pytest
命令一起进行覆盖测试。使用命令 py.test --cov-report term-missing --cov=<package_name>
可以进行覆盖测试,将返回详细的测试报告
2.3 PEP 标准检查
Python 编程过程中主要的代码规范标准是 PEP8,flake8
工具提供了该该规范检查。该规范检查可以在 setup.cfg
中添加配置信息之后,使用 flake8
命令检查。相关的配置信息如下:
1 | [flake8] |
参考
cookecutter 使用以及整洁架构设计
https://zenray.github.io/[object%20Object]/Python-cookecutter%E4%BD%BF%E7%94%A8/